﻿namespace PropOnline.ViewModels.Tasacion
{
    using System.Globalization;
    using PropOnline.Helpers;
    using PropOnline.Models;
    using PropOnline.ViewModels.Shared;

    public class ResultadoPropiedadesTasacionViewModel : ResultadoPropiedadesViewModel
    {
        private int precioPorMetroCuadrado;

        public int PrecioPorMetroCuadrado
        {
            get
            {
                if (this.precioPorMetroCuadrado == 0)
                {
                    this.precioPorMetroCuadrado = PropiedadHelper.ObtenerPrecioPorMetroCuadradoPromedio(this.Propiedades);
                }

                return this.precioPorMetroCuadrado;
            }
        }

        public string TasacionEstimada
        {
            get
            {
                var tasacionEstimada = 0;
                if (this.BusquedaSuperficie > 0)
                {
                    tasacionEstimada = this.PrecioPorMetroCuadrado * this.BusquedaSuperficie.Value;
                }
                
                return tasacionEstimada.ToString("N0", CultureInfo.CurrentCulture);
            }
        }

        public string PrecioPorMetroCuadradoString
        {
            get
            {                
                return this.PrecioPorMetroCuadrado.ToString("N0", CultureInfo.CurrentCulture);
            }
        }

        public Moneda BusquedaMoneda { get; set; }

        public int? BusquedaSuperficie { get; set; }
    }
}